package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

public class CollectionDemo {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        c.add(new Point(1, 2));//自动重写了toString
        c.add(new Point(3, 4));
        c.add(new Point(5, 6));
        c.add(new Point(7, 8));
        c.add(new Point(9, 10));
//        c.add(new Point(1,2));
//        c.add(new Point(1,2));

        //[元素1.toString(), 元素2.toString(), 元素3.toString(), ........]
        System.out.println(c);//[(1,2), (3,4), (5,6), (7,8), (9,2)]

        /*
            boolean contains(Object  o):
            判断当前集合是否包含给定元素是否与当前集合存在equals()比较为true的情况
        */
        Point p = new Point(1, 2);
        boolean contains = c.contains(p);//在Point 中重写了equals()
        System.out.println("是否包含：" + contains);////true


        /*
            boolean remove(Object  a ):-----------一般不接受boolean的结果
            从当前集合中删除与给定元素o的equals（）比较为true的元素
            若存在重复元素则只删除一次
        */
        c.remove(p);
        System.out.println(c);//删除一次重复的元素----只删除一次
        System.out.println(c);


        //集合中存放的是元素的引用
        Collection cc = new ArrayList();
        Point pp = new Point(1, 2);
        cc.add(pp);//将pp添加到cc中-----------将pp的引用转到了cc中
        System.out.println("pp:" + pp);
        System.out.println("cc:" + cc);

        pp.setX(100);
        System.out.println("pp" + pp);
        System.out.println("cc" + cc);





        /*Collection c =new ArrayList();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        //集合重写了Object的String()方法，返回格式如下：
        //[元素1.toString(), 元素2.toString(), 元素3.toString(), ......]
        System.out.println(c);//[one, two, three, four, five]
        System.out.println("size:"+c.size());//5,输出元素的个数
        System.out.println("是否为空集"+c.isEmpty());//false

        c.clear();//清空集合
        System.out.println("集合已清空");
        System.out.println(c);//[]
        System.out.println("size:"+c.size());//0
        System.out.println("是否为空集"+c.isEmpty());//true



        Collection c1= new ArrayList();
        c1.add("aaa");
        c1.add("ddd");
        c1.add("bbb");
        c1.add("ccc");
        c1.add("aaa");

        boolean b1=c1.add("aaa");
        System.out.println("b1="+b1);
        System.out.println(c1);

        Collection c2= new HashSet();
        c2.add("aaa");
        c2.add("ddd");
        c2.add("bbb");
        c2.add("ccc");
        c2.add("aaa");
        boolean b2 = c2.add("aaa");
        System.out.println("b2="+b2);
        System.out.println(c2);*/
    }
}
